<?php

class FormRegister extends App_Form  
{
	private $userData;
	
	public function __construct($user) {
		$this->userData = $user;
		parent::__construct();
	}

	/**
     * Создание формы
     */
    public function init()
    {
        // Вызываем родительский метод
        parent::init();
        
        // Указываем action формы
        $helperUrl = new Zend_View_Helper_Url();
        $this->setAction($helperUrl->url(array(), 'area'));
        
        // Указываем метод формы
        $this->setMethod('post');
        
        // Задаем атрибут class для формы
        $this->setAttrib('class', 'commonform');
        $this->setAttrib('name', 'form');
        
        // Кнопка Submit
        $id = new Zend_Form_Element_Hidden('hidden', array(
        	'name'		  => 'id',
            'value'       => $this->userData->id 
        ));
        $id->setDecorators(array('Hidden'));
        $this->addElement($id);

        $name = new Zend_Form_Element_Text('name', array(
            'required'    => true,
			'label'       => 'Название:',
            'maxlength'   => '100',
            'validators'  => array(
                array('Alnum', true, array(true)),
                array('StringLength', true, array(2, 100))
             ),
            'filters'     => array('StringTrim'),
            'value'		  => $this->userData->name
        ));
        $name->setDecorators(array('Standart'));
        $this->addElement($name);

        $login = new Zend_Form_Element_Text('login', array(
            'required'    => true,
        	'label'       => 'Логин:',
            'maxlength'   => '50',
            'validators'  => array(
                array('Alnum', true, array(true)),
                array('StringLength', true, array(2, 50))
             ),
            'filters'     => array('StringTrim'),
            'value'		  => $this->userData->login
        ));
        $login->setDecorators(array('Standart'));
        $this->addElement($login);
        
		$passwd1 = new Zend_Form_Element_Password('passwd1', array(
			'required'    => true,
			'label'       => 'Пароль:',
			'maxlength'   => '50',
			'filters'     => array('StringTrim'),
			'value'		  => $this->userData->passwd
		));
        $passwd1->setDecorators(array('Standart'));
		$this->addElement($passwd1);

		$passwd2 = new Zend_Form_Element_Password('passwd2', array(
			'required'    => true,
			'label'       => 'Повторить пароль:',
			'maxlength'   => '50',
			'filters'     => array('StringTrim'),
			'value'		  => $this->userData->passwd
		));
        $passwd2->setDecorators(array('Standart'));
		$this->addElement($passwd2);
        
		// Кнопка Submit
		$submit = new Zend_Form_Element_Submit('submit', array(
			'label'       => 'Сохранить',
			'decorators' => $this->buttonDecorators,
		));
		        
		//$submit->setDecorators(array('ViewHelper'));
		$this->addElement($submit);
		        
		// Кнопка Reset, возвращает форму в начальное состояние
		$reset = new Zend_Form_Element_Reset('reset', array(
			'label'       => 'Очистить',
			'decorators' => $this->buttonDecorators,
		));
		$this->addElement($reset);
		
		// Перезаписываем декораторы, что-бы выставить две кнопки в ряд
		//$reset->setDecorators(array('ViewHelper'));
	}
}
?>